// packageA/pages/textEntry/textEntry.js
import { useSaveQuestion } from '../utils/useSaveQuestion';
import { getUserGrade } from '../../../utils/userInfo';
import Notify from '../../../miniprogram_npm/@vant/weapp/notify/notify';
Page({

    /**
     * 页面的初始数据
     */
    data: {
        active: 'choice',
        optionList: [],
        git: '', // gid
        uid: '', // uid
    },
    // 点击van-tabs切换
    onChange(event) {
        console.log(event.detail.name);
        // wx.showToast({
        //     title: `切换到标签 ${event.detail.name}`,
        //     icon: 'none',
        // });
    },
    // 选择题添加选项
    onAppaddoption(e) {
        const newOptionList = this.data.optionList;
        newOptionList.push('');
        this.setData({
            optionList: newOptionList
        })
    },
    // 选择题删除选项
    onAppredoption(e) {
        const { index } = e.currentTarget.dataset;
        const newOptionList = this.data.optionList;
        newOptionList.splice(index, 1);
        this.setData({
            optionList: newOptionList
        })
    },

    /* 点击选择表单提交 */
    choiceSubmit(e) {
        // 获取当前选中的年级
        const gradeDesc = wx.getStorageSync('gradeDesc');
        // 获取 gid
        const { gid, uid } = this.data;
        if (gradeDesc) {
            // 获取当前年级里，所有的课程信息
            const classArr = wx.getStorageSync('classArr');
            const itemList = [];
            classArr.forEach(item => {
                itemList.push(item.name);
            })
            wx.showActionSheet({
                itemList,
                success(res) {
                    console.log(res.tapIndex);
                    // 得到 课程名字，录入数据库所需
                    const className = itemList[res.tapIndex];
                    // console.log(e.detail.value);
                    const { title, graspRate, difficultyRate, answer, opt1, opt2, opt3, opt4 } = e.detail.value;
                    const enterObj = {
                        type: 'choice',
                        title, // 题目
                        answer, // 答案
                        option: [
                            { opt: 'A', cent: opt1 },
                            { opt: 'B', cent: opt2 },
                            { opt: 'C', cent: opt3 },
                            { opt: 'D', cent: opt4 },
                        ], // 选项
                        graspRate, // 掌握程度
                        difficultyRate // 难易度
                    }
                    // 表单输出的对象格式数据
                    console.log(enterObj);
                    // 表单是否为空
                    let isIptNull = true;
                    if (title && graspRate && difficultyRate && answer && opt1 && opt2 && opt3 && opt4) {
                        isIptNull = false;
                    }
                    if (!isIptNull) {
                        // 调用云函数，录入
                        useSaveQuestion(enterObj, className, gradeDesc, gid, uid);
                    } else {
                        wx.showToast({
                            title: '请您检查输入的内容，不能为空',
                            icon: 'none',
                            duration: 2000
                        })
                    }
                },
                fail(res) {
                    console.log(res.errMsg)
                }
            })
        } else {
            Notify({ type: 'warning', message: '请先去选择你所在的年级' });
        }
    },

    /* 除选择题外，其他题目录入的封装函数 */
    enterQuestion(type,formData){
        // 获取当前选中的年级
        const gradeDesc = wx.getStorageSync('gradeDesc');
        // 获取 gid
        const { gid, uid } = this.data;
        if (gradeDesc) {
            // 获取当前年级里，所有的课程信息
            const classArr = wx.getStorageSync('classArr');
            const itemList = [];
            classArr.forEach(item => {
                itemList.push(item.name);
            })
            wx.showActionSheet({
                itemList,
                success(res) {
                    console.log(res.tapIndex);
                    // 得到 课程名字，录入数据库所需
                    const className = itemList[res.tapIndex];
                    // console.log(e.detail.value);
                    const { title, graspRate, difficultyRate, answer} = formData;
                    const enterObj = {
                        type, // 题目类型
                        title, // 题目
                        answer, // 答案
                        graspRate, // 重要性
                        difficultyRate // 难易度
                    }
                    // 表单输出的对象格式数据
                    console.log(enterObj);
                    // 表单是否为空
                    let isIptNull = true;
                    if (title && graspRate && difficultyRate && answer) {
                        isIptNull = false;
                    }
                    if (!isIptNull) {
                        // 调用云函数，录入
                        useSaveQuestion(enterObj, className, gradeDesc, gid, uid);
                    } else {
                        wx.showToast({
                            title: '请您检查输入的内容，不能为空',
                            icon: 'none',
                            duration: 2000
                        })
                    }
                },
                fail(res) {
                    console.log(res.errMsg)
                }
            })
        } else {
            Notify({ type: 'warning', message: '请先去选择你所在的年级' });
        }
    },

    /* 判断题表单提交 */
    judgmentSubmit(e) {
        const formData = e.detail.value;
        this.enterQuestion('judgment',formData);
    },

    /* 填空题表单提交 */
    fillSubmit(e){
        const formData = e.detail.value;
        this.enterQuestion('fill',formData);
    },

    /* 问答题表单提交 */
    explainSubmit(e){
        const formData = e.detail.value;
        this.enterQuestion('explain',formData);
    },

     /* 其他题表单提交 */
     otherSubmit(e){
        const formData = e.detail.value;
        this.enterQuestion('other',formData);
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {
        const { _id, uid } = getUserGrade();
        this.setData({
            gid: _id,
            uid
        })
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})